Minutes, IBIS Quality Task Group 26 January 2021 11:00-12:00 EST (08:00-09:00 PST) ROLL CALL Intel Technology Michael Mirmak Micron Technology * Randy Wolff Signal Integrity Software: * Mike LaBonte Teraspeed Labs: * Bob Ross Zuken USA: * Lance Wang Everyone in attendance marked by * NOTE: "AR" = Action Required. -----------------------MINUTES --------------------------- Mike LaBonte conducted the meeting. Call for IBIS related patent disclosures: - None Call for opens: - Mike noted that an agenda had been sent but not received by the list. He would investigate. Review of previous meeting minutes: Minutes from the January 19, 2021 meeting were not available for review. ARs: - Mike LaBonte to complete static analysis of IBISCHK 7.0.0 source code - Done - Mike LaBonte to evaluate TSCHK2 compile environment - Done - Bob Ross to draft IBISCHK 7.1.0 parser development contract - Not yet started New parser bug reports: Bob Ross noted that The security check bug was in progress. He said a new Touchstone connectivity bug was possible, but he had research to do. IBISCHK 7.1.0: Bob Ross reported that he had prepared some notes but had not started a contract document. IBISCHK security fixes: Mike LaBonte described his further testing ibischk7.0.0 code using the Splint static code analyzer. He began with enabling all checks with the "+strict" option, which yielded tens of thousand of error messages. Then he added options to disable more than 100 checks one at a time, examining the results each time. Mike showed an email summarizing the results. In all cases, Splint found many errors not listed in the reference spreadsheet from Intel. With all checks enabled it found 283 of the reference errors, but also 18,915 additional messages. The best combination of options Mike found had 283 common errors and 2,527 unique to Splint. He had considered writing a script to test all possible option combinations and choose the best using a scoring system, but he had little hope that would do much better. Mike said he had incorrectly reported that the reference analysis found 223 errors. That was the number of message lines, but some comments in the spreadsheet listed other code line numbers. Mike had written a Perl script to form a complete list of error instances with file name and line number. There were 407. Mike said splint also found some serious non-security issues. Bob Ross said having Intel in the loop to verify security fixes would almost certainly slow down development. Randy Wolff asked if there had been any indication that other companies cared about the issue. He suggested asking in Open Forum. Mike suggested asking developers directly. We agreed to divide the task among ourselves. Randy suggested three questions: - Are they compiling the source into a product? - Do they have code security requirements? - Are they fixing the code? AR: Mike LaBonte to draft ibischk source code user questions for email AR: Lance Wang to ask Zuken AR: Mike LaBonte to ask Cadence AR: Bob Ross to ask Keysight and Siemens AR: Randy Wolff to ask Synopsys IBIS-ISS parser development: Bob Ross noted we have not yet written the contract. We needed to decide the order and grouping of developments. TSCHK2: Mike LaBonte had provided an alpha1 code release for review. Bob Ross said the executable did not work for him, a cygwin DLL was not found. Mike said he could change compile options to not require that. Bob said he was unable to access the source files from the private area. Mike suggested having the webmaster check on the FTP access for Bob. Mike described the changes he made. It would refuse convert a Touchstone 2 to Touchstone 1 if [Reference] was used. Mike had changed the check to abort only if any [Reference] impedance did not match the global "R" impedance. Randy said the global "R" impedance should not be involved in the check. It should only be necessary to compare the [Reference] impedances to each other. The "R" impedance may be absent. Mike agreed to make that change. Mike described a second problem he found. Once the code was changed to not abort with [Reference] present, it abort after finding that the input file was a Touchstone 2 file. Mike was confused about that because the input file was known to be a Touchstone 2 file, that was why it was being converted to Touchstone 1. He said the abort occurred during normalization of the matrix data. He had disabled that check to make the program work. Randy said the program had no trouble converting Touchstone 2 files without [Reference] to Touchstone 1. He also said we had to make sure the impedances from [Reference] were being used for normalization. Mike said he would investigate further. He added that the code was very well written. AR: Mike LaBonte to recompile tschk2 alpha without cygwin dependency, and fix for impedance checking Tabled topics (no discussion without motion): - BIRD181.2 Bob Ross moved to adjourn. Randy Wolff seconded. Without objection the meeting ended. Meeting ended: 11:54 ET Next meeting February 2, 2021